<?php

//Clase para el manejo de las acciones
class acciones {

    //Funcion que se encarga de cargar la grilla
    //Retornardo los datos en formato JSON
    function data($conexion, $start, $limit) {

        //Realizo la consulta para obtener todos los registros
        $sqlTot = "select * from lista_jurados_votos ORDER BY id";

        //Ejecuto la consulta
        $resultsTot = mysql_query($sqlTot, $conexion);

        //Verifico si se realizo la consulta bien
        if (!$resultsTot) {
            $mensaje = 'Consulta no valida: ' . mysql_error() . "\n";
            die($mensaje);
        }

        //Realizo la consulta para filtrar
        $sql = "select * from lista_jurados_votos ORDER BY id LIMIT " . $start . "," . $limit;

        //Ejecuto la consulta
        $results = mysql_query($sql, $conexion);

        //Verifico si se realizo la consulta bien
        if (!$results) {
            $mensaje = 'Consulta no valida: ' . mysql_error() . "\n";
            die($mensaje);
        }

        //Cuento la cantidad total de registros de la tabla
        $nTot = mysql_num_rows($resultsTot);

        //Creo un array que contendra los valores de la grilla
        $data = array();

        //Recorro la consulta
        while ($row = mysql_fetch_object($results)) {
            //Cargo el dato en el array
            $data [] = $row;
        }

        //Libero memoria
        mysql_free_result($results);

        //Paso el array
        return '{"totalCount": "' . $nTot . '", "VotosJurados":' . json_encode($data) . '}';
    }

    //Inserto valores en la tabla 
    function insertJurado($conexion, $objFunc) {

        //Tomo los valores del formulario
        $nombre = $_POST['nombre'];
        $categ = $_POST['categoria'];

        //Quito caracteres especiales
        $nombre = $objFunc->sacarAcentos($nombre);
        $categ = $objFunc->sacarAcentos($categ);

        //Realizo la consulta
        $sql = "";
        $sql .= "INSERT INTO lista_jurados_votos (nombre, categoria) ";
        $sql .= " values('" . $nombre . "', '" . $categ . "')";
        //Ejecuto la consulta
        $results = mysql_query($sql, $conexion);

        //Verifico si se realizo la consulta bien
        if (!$results) {
            $mensaje = 'Error al insertar el registro: ' . $sql . ' ' . mysql_error() . "\n";
            die($mensaje);
        }
    }

    //Modifica valores en la tabla
    function updateJurado($conexion, $objFunc) {

        //Tomo los valores del formulario
        $id = $_POST['id'];
        $nombre = $_POST['nombre'];
        $categ = $_POST['categoria'];

        //Quito caracteres especiales
        $nombre = $objFunc->sacarAcentos($nombre);
        $categ = $objFunc->sacarAcentos($categ);

        //Creo la consulta
        $sql = "";
        $sql .= "UPDATE lista_jurados_votos SET nombre = '" . $nombre . "', categoria = '" . $categ . "'";
        $sql .= " WHERE id = '" . $id . "'";

        //Ejecuto la consulta
        $results = mysql_query($sql, $conexion);

        //Verifico si se realizo la consulta bien
        if (!$results) {
            $mensaje = 'Error al modificar el registro: ' . mysql_error() . "\n";
            die($mensaje);
        }
    }

    //Elimina un registro de la tabla 
    function deleteJurado($conexion, $id) {

        //Creo la consulta
        $sql = "DELETE FROM lista_jurados_votos where id = '" . $id . "'";
        //Ejecuto la consulta
        $results = mysql_query($sql, $conexion);

        //Verifico si se realizo la consulta bien
        if (!$results) {
            $mensaje = 'Error al eliminar el registro: ' . mysql_error() . "\n";
            die($mensaje);
        }
    }

}
?>

<?php

/* Agregamos las funciones */
include "funciones.php";

//Creo el objeto funciones
$obj = new funciones;
//Conecto a MySql
$conexion = $obj->conexion();

//Instancio la clase
$acc = new acciones();

//Verifico si esta definida el parametro action
if (isset($_POST['action']) || isset($_GET['myaction'])) {

    //Tomo el valor
    $accion = (isset($_POST['action']) ? $_POST['action'] : $_GET['myaction']);

    //Verifico la accion
    switch ($accion) {
        //Si la accion es insert
        case 'insert':
            $acc->insertJurado($conexion, $obj);
            $js = "<script> window.location = '../php/AbmVotosJurados.php';  </script>";
            die($js);
            break;

        //Si la accion es Update
        case 'update':
            $acc->updateJurado($conexion, $obj);
            $js = "<script> window.location = '../php/AbmVotosJurados.php';  </script>";
            die($js);
            break;

        //Si la accion es delete
        case 'delete':
            //Tomo el valor del id
            $id = $_POST['id'];
            $acc->deleteJurado($conexion, $id);
            $js = "<script> window.location = '../php/AbmVotosJurados.php';  </script>";
            die($js);
            break;


        //Carga el combo categ
        case 'categ':
            $data = $obj->cargacomboCateg($conexion);
            die($data);
            break;

        //Verifia si tiene permisos para modificar 
        case 'permisos':
            $data = $obj->permisos($conexion);
            die($data);
            break;
    }
} {
    //Cargo el form
    if (isset($_GET['start']) && isset($_GET['limit'])) {
        //Ejecuto el metodo y obtendo el resultado JSON
        $datos = $acc->data($conexion, $_GET['start'], $_GET['limit']);
        //Caego en la grilla
        echo $datos;
    }
}

//Cierro la conexion
$obj->cerrarConn($conexion);
?>